<html>
 <head>
  <link href="./leetcode-problem.css" rel="stylesheet" type="text/css">
 </head>
 <body>
  <div class="question_difficulty">
   难度：Hard
  </div>
  <div>
   <h1 class="question_title">
    763. Special Binary String
   </h1>
   <p>
    <i>
     Special
    </i>
    binary strings are binary strings with the following two properties:
   </p>
   <p>
   </p>
   <li>
    The number of 0's is equal to the number of 1's.
   </li>
   <li>
    Every prefix of the binary string has at least as many 1's as 0's.
   </li>
   <p>
    Given a special string
    <code>
     S
    </code>
    , a
    <i>
     move
    </i>
    consists of choosing two consecutive, non-empty, special substrings of
    <code>
     S
    </code>
    , and swapping them.
    <i>
     (Two strings are consecutive if the last character of the first string is exactly one index before the first character of the second string.)
    </i>
   </p>
   <p>
    At the end of any number of moves, what is the lexicographically largest resulting string possible?
   </p>
   <p>
    <b>
     Example 1:
    </b>
    <br>
   </p>
   <pre>
<b>Input:</b> S = "11011000"
<b>Output:</b> "11100100"
<b>Explanation:</b>
The strings "10" [occuring at S[1]] and "1100" [at S[3]] are swapped.
This is the lexicographically largest string possible after some number of swaps.
</pre>
   <p>
    <b>
     Note:
    </b>
   </p>
   <ol>
    <li>
     <code>
      S
     </code>
     has length at most
     <code>
      50
     </code>
     .
    </li>
    <li>
     <code>
      S
     </code>
     is guaranteed to be a
     <i>
      special
     </i>
     binary string as defined above.
    </li>
   </ol>
  </div>
  <div>
   <h1 class="question_title">
    763. 特殊的二进制序列
   </h1>
   <p>
    特殊的二进制序列是具有以下两个性质的二进制序列：
   </p>
   <ul>
    <li>
     0 的数量与 1 的数量相等。
    </li>
    <li>
     二进制序列的每一个前缀码中 1 的数量要大于等于 0 的数量。
    </li>
   </ul>
   <p>
    给定一个特殊的二进制序列&nbsp;
    <code>
     S
    </code>
    ，以字符串形式表示。定义一个
    <em>
     操作
    </em>
    为首先选择&nbsp;
    <code>
     S
    </code>
    &nbsp;的两个连续且非空的特殊的子串，然后将它们交换。（两个子串为连续的当且仅当第一个子串的最后一个字符恰好为第二个子串的第一个字符的前一个字符。)
   </p>
   <p>
    在任意次数的操作之后，交换后的字符串按照字典序排列的最大的结果是什么？
   </p>
   <p>
    <strong>
     示例 1:
    </strong>
   </p>
   <pre>
<strong>输入:</strong> S = "11011000"
<strong>输出:</strong> "11100100"
<strong>解释:</strong>
将子串 "10" （在S[1]出现） 和 "1100" （在S[3]出现）进行交换。
这是在进行若干次操作后按字典序排列最大的结果。
</pre>
   <p>
    <strong>
     说明:
    </strong>
   </p>
   <ol>
    <li>
     <code>
      S
     </code>
     &nbsp;的长度不超过&nbsp;
     <code>
      50
     </code>
     。
    </li>
    <li>
     <code>
      S
     </code>
     &nbsp;保证为一个满足上述定义的
     <em>
      特殊
     </em>
     的二进制序列。
    </li>
   </ol>
  </div>
 </body>
</html>